Froome had been the favourite to retain his title but he paid the price for the efforts he made to win the Giro d'Italia in May as he just failed to become the first man in 20 years to achieve the Giro-Tour double.
The overall standings remained unchanged at the top with Thomas leading defending champion Froome by one minute 39 seconds and Dutchman Tom Dumoulin by 1:50.
Spain's Gorka Izagirre took second place and Yates finished third, 15 seconds behind.
This year's Tour de France had been advertised as an exciting battle royale between four great riders yet it panned out as an underwhelming contest as Chris Froome's rivals failed to live up to expectations.
Chris Froome showed again he will attack his rivals on every terrain as the Briton extended his overall lead in the Tour de France with a surprising move in Wednesday's 11th stage, which was won with panache by world champion Peter Sagan.
Lewis Hamilton has apologised to residents of his boyhood home town Stevenage for suggesting he grew up in a slum.
Team Ineos's Luke Rowe and Lotto Jumbo-Visma's Tony Martin were both kicked out of the race following an altercation, just under 14 kilometres from the finish.
Slovenian Tadej Pogacar claimed a second successive Tour de France title after Sunday's 21st and final stage, which was won by Belgian Wout van Aert on the Champs Elysees.
Is Lewis Hamilton sufficiently appreciated at home?
Chris Froome has one more mountainous hurdle to overcome to claim a second Tour de France title after Friday's 19th stage in which had 30 seconds chopped off his lead as Vincenzo Nibali claimed a controversial victory.
Chris Froome got a brutal reminder of the unpredictable nature of the Tour de France when he crashed to the ground in Sunday's second stage, recovering to finish with torn shorts as German Marcel Kittel powered to victory at the end of a huge sprint.
'Just the fact that people have mentioned it, it's already an honour, but it's not been something that I've been chasing in my life'
Slovakian Peter Sagan elbowed Mark Cavendish off balance as the Briton was trying to force his way between him and the safety barrier, and Cavendish was sent crashing heavily.
Overall leader Chris Froome put the hammer down on the Tour de France when the Briton humiliated his rivals in the first mountain test, winning the 10th stage in awe-inspiring fashion on Tuesday.
The 22-year-old Bernal, the youngest rider to win the race in 110 years, gave Team Ineos --formerly Team Sky -- their seventh title in the last eight editions.
Froome in control as Contador drifts, Van Garderen out of Tour de France.
Summary of sports events and persons who made news on Tuesday